package main

import (
	"database/sql"

	"gorm.io/driver/mysql"
	"gorm.io/gorm"
)

// 1.定义模型
type User struct {
	ID   int64
	Name sql.NullString `gorm:"default:'furemii'"` //创建User对象时,如果没传值或者值为空0,"",false, 则使用默认值
	//如果想传空串 可以改为*string类型 Name= new(string)
	//或者使用sql.NullString
	Age int64
}

func main() {
	//连接MYSQL数据库
	dsn := "root:flm@(127.0.0.1:3306)/db1?charset=utf8mb4&parseTime=True&loc=Local"
	db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
	if err != nil {
		panic(err)
	}

	// 2.把模型与数据库中的表对应起来
	db.AutoMigrate(&User{})

	// 3.创建
	u := User{Name: sql.NullString{String: "", Valid: true}, Age: 38} //创建一个User对象
	db.Debug().Create(&u)                                             //加.Debug()可以在终端输出程序执行的语句

}
